package com.TanNgee.netty.kyro.serialize;

/**
 * @author 陈毅
 * @create 2022/3/11 0:17
 */

/**
 * 自定义序列化接口
 */
public interface Serializer {

    /**
     * 序列化
     *
     * @param obj 要序列化的对象
     * @return 字节数组
     */
    byte[] serialize(Object obj);

    /**
     * 反序列化
     *
     * @param bytes 被序列化的字节数组
     * @param clazz 要反序列化的列
     * @param <T>
     * @return 反序列化的对象
     */
    <T> T deserialize(byte[] bytes, Class<T> clazz);
}
